package com.devshephard.jucks.VolatileDemo;

/**
 * Volatile可见性测试类
 */
public class VolatileCanSeeDemo {

    public static volatile Integer num = 0; //添加Volatile关键字，使其可见
    //public static  Integer num = 0; //不添加Volatile关键字，使其不可见

    public static void main(String[] args) throws InterruptedException {

        new Thread(()->{

            while (num == 0){ //当num为0时，则一直执行

            }

        }).start();

        Thread.sleep(3000);  //main线程睡眠，保证创建的子线程已经执行。否则可能出现子线程没有创建，main线程已经执行完毕的情况从而导致实验失败。

        num = 1;
        System.out.println(num);

    }

}
